package com.tbit.main.dao.log;

import com.tbit.main.pojo.MachineFaultLog;
import com.tbit.main.pojo.MachineFaultLogSta;

import java.util.List;
import java.util.Map;

/**
 * 故障记录日志表
 *
 * @author LMY
 * @create 2022-11-17 13:26
 */
public interface MachineFaultLogDao {
    /**
     * 添加
     *
     * @param machineFaultLog
     */
    void insert(MachineFaultLog machineFaultLog);

    /**
     * 按时间分组统计
     *
     * @param params
     * @return
     */
    List<MachineFaultLogSta> groupByTime(Map<String, Object> params);

    /**
     * 根据时间查询
     *
     * @param params
     * @return
     */
    List<MachineFaultLog> getByTime(Map<String, Object> params);

    /**
     * 根据故障唯一id查询
     *
     * @param NO
     * @return
     */
    List<MachineFaultLog> getByNO(String NO);

    /**
     * 根据时间，车辆，手机号查询
     *
     * @param params
     * @return
     */
    List<MachineFaultLog> getUserCodePhone(Map<String, Object> params);

    /**
     * 查询用户最近上报的异常记录的生命周期编号
     *
     * @param machineId 车辆id
     * @return 上报记录
     */
    String selectUserReportedFaultsOrderNoByMachineId(Integer machineId);
}